package com.fubowen.reader.db

import androidx.room.Database
import androidx.room.RoomDatabase
import com.fubowen.reader.db.bean.BookBean
import com.fubowen.reader.db.bean.BookChapterBean
import com.fubowen.reader.db.bean.Document
import com.fubowen.reader.db.bean.SettingBean
import com.fubowen.reader.db.bean.Task
import com.fubowen.reader.db.bean.ThemeBean
import com.fubowen.reader.db.bean.ThemeConfigBean
import com.fubowen.reader.db.bean.WebSiteBean
import com.fubowen.reader.db.bean.WebSiteConfigBean
import com.fubowen.reader.db.dao.BookDao
import com.fubowen.reader.db.dao.DocumentDao
import com.fubowen.reader.db.dao.SettingDao
import com.fubowen.reader.db.dao.TaskDao
import com.fubowen.reader.db.dao.ThemeDao
import com.fubowen.reader.db.dao.WebSiteDao

@Database(
    entities = [
        ThemeBean::class,
        ThemeConfigBean::class,
        WebSiteBean::class,
        WebSiteConfigBean::class,
        BookBean::class,
        BookChapterBean::class,
        Document::class,
        Task::class,
        SettingBean::class,
    ],
    version = 24,
    exportSchema = false
)
abstract class ThemeDatabase : RoomDatabase() {

    abstract fun themeDao(): ThemeDao
    abstract fun documentDao(): DocumentDao
    abstract fun webSiteDao(): WebSiteDao
    abstract fun taskDao(): TaskDao
    abstract fun bookDao(): BookDao
    abstract fun settingDao(): SettingDao
}